home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / misc / verteiler101.lha / MicroDot / Start_Verteiler.mdmrexx
Text File  |  1995-09-10  |  7KB  |  198 lines

  1. $ From : N.Goers@art-line.art-line.de (Nils Goers)
  2. $ Subj.: Start_Verteiler.mdmrexx
  3.  
  4. $ To   : t.eicher@pp78hsp.ZER
  5. $ Date : 09.09.95 12:40:00 W+0:00
  6. $ Bytes: 5616
  7. $ Id   : <zpfaa8aBMj0qZ24@n.goers.art-line.art-line.de>
  8. $ Route: hsp.zer.de
  9.  
  10. Imported: 10.09.95 10:20:56 S+2
  11. Mailer: Zodiac's Point 37.199 [REGISTERED 0024]
  12. GATE:    RFC1036/822 UP royal.owl.de [UNIX/Connect v0.73]
  13. Priority: 0
  14. VER:    T.EICHER@HSP.zer.de
  15. Forwarded by: golden-gate.owl.de!art-line.art-line.de!N.Goers@royal.owl.de
  16. O-ROT:    hsp.zer.de!royal.owl.de!golden-gate.owl.de!art-line.art-line.de
  17. U-To:    T.EICHER@hsp.zer.de
  18. U-Received:    by royal.owl.de (Linux Smail3.1.28.1)   from golden-gate.owl.de with uucp   id <m0srWUd-0006OJC>; Sat, 9 Sep 95 22:27 MET DST
  19. U-Received:    by golden-gate.owl.de (Smail3.1.28.1)   from meservb.technet.net with smtp   id <m0srVoH-000JMhC>; Sat, 9 Sep 95 21:43 MET DST
  20. U-Received:    (from art-line@localhost) by meservb.technet.net (8.6.9/8.6.9) id PAA19921 for T.EICHER@hsp.zer.de; Sat, 9 Sep 1995 15:40:07 -0400
  21. U-X-ZC-VIA:    19950909180917S+2@art-line.art-line.de
  22. U-X-ZC-Post:    Nils Goers; Kaiserstr.97a; 42329 Wuppertal; Germany
  23. ___________________________________________________________________________
  24.  
  25. /*
  26.     $VER: Start_Verteiler.mdmrexx V1.2 (9.9.95) Copyright (c) Nils Goers
  27.  
  28.    FUNKTIONSBESCHREIBUNG:
  29.  
  30.     Dieses Skript wurde speziell fuer das Programm VerteilerVerwaltung,
  31.     kurz  'VV',   zwecks   Anbindung an MicroDOT  entwickelt.   Dieses
  32.     Skript   dient   lediglich  der  Auswertung-  und  Versendung  von
  33.     Nachrichten an  mehrere  Empfaenger, die  mittels  `VV'  ausgewaehlt
  34.     wurden.
  35.  
  36.  
  37.    INSTALLATION:
  38.  
  39.     'Start_Verteiler.mdmrexx'  soll ueber das ARexx-Menue von 'MicroDot'
  40.     aufrufbar  sein  und  muss  deshalb  nach  'MicroDot/Rexx'  kopiert
  41.     werden.   Im  Menue  'Rexx/Nachrichten-Makros'  erscheint  dann der
  42.     Menuepunkt 'Start_Verteiler'.
  43.  
  44.  
  45.     Sie erreichen die Autoren wie folgt:
  46.  
  47.        t.eicher@hsp.zer.de
  48.        N.Goers@Art-Line.Art-Line.de
  49.  
  50.  
  51.    Das Programm Verteiler, welches mit diesem Skript gestartet wird,
  52.    benoetigt die "triton.library" >=V1.2
  53.    Triton is (C) by Stefan Zeiger <s.zeiger@laren.rhein-main.de>
  54. */
  55.  
  56. /*----------------------------------------------------------------
  57.   -Ab hier koennen Sie das Skript nach Ihren Beduerfnissen anpassen-
  58.   ----------------------------------------------------------------*/
  59. /* wo befindet sich das Hauptprogramm ?? */
  60. Verteiler.main = "Zodiac:Tools/Verteiler"
  61.  
  62. /*----------------------------------------------------------------*/
  63. /* wo befindet sich die Database
  64.            (default: progdir:verteiler.database)                  */
  65. DataBase = "progdir:verteiler.database"
  66.  
  67. /*----------------------------------------------------------------*/
  68. /* wo ist die Datei mit den Empfaengern (Verteilerliste)?          */
  69. RCVFILE.main   = "t:RCVFILE"
  70.  
  71. /*----------------------------------------------------------------*/
  72. /* zum Auslagern evtl. Daten (Binaer- und oder Textnachrichten)    */
  73. Datei.Tmp      = "t:Out.tmp"
  74.  
  75. /*----------------------------------------------------------------*/
  76. /* sollen die Empfaenger vor dem Schreiben der Nachricht zur
  77.    Verfuegung gestellt werden ???
  78.    0 = JA
  79.    1 = NEIN                                                       */
  80. WhatKind = 1
  81.  
  82. /*----------------------------------------------------------------*/
  83. /* Originalnachricht wird geloeschen !!
  84.    1 = mit Sicherheitsabfrage
  85.    0 = ohne Sicherheitsabfrage                                    */
  86. DelImmer       = 0
  87. /*----------------------------------------------------------------*/
  88. /* Dieser "Domain"-Eintrag in der Alias.zp Datei dient dem Skript
  89.    zur Erkennung das Sie den "Distribution-Modus" von Verteiler
  90.    nutzen moechten (siehe Anleitung!)                              */
  91. Verteilerkennung = "@Verteiler"
  92. /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  93.  *      Bitte geben Sie hier ihre Praeferenzen ein !                *
  94.  *******************************************************************/
  95.  
  96. /*******************************************************************
  97.  *      Bitte unterhalb dieser Zeile nichts mehr veraendern!        *
  98.  *******************************************************************/
  99.  
  100. OPTIONS RESULTS
  101. NL    = '0a'x
  102.  
  103. GETMDPUBSCREENNAME
  104. zpPort = RESULT
  105.  
  106. /* zusaetzliche Informationen holen */
  107. GETCURRENTMAIL STEM MAIL.
  108.  
  109.  GETCURRENTMAILHEADER EMP
  110.  Empf.orig = RESULT
  111.  Receiver.bak =RESULT
  112.  
  113. Receiver.bak = UPPER(receiver.bak)
  114. Verteilerkennung = UPPER(Verteilerkennung)
  115. SELECT
  116.  WHEN WhatKind == 0 THEN
  117.           ADDRESS COMMAND Verteiler.main 'DB='Database,
  118.                                          'INTO='RCVFILE.main||zpPort,
  119.                                          'PB='zpPort
  120.  
  121.  WHEN LASTPOS(Verteilerkennung,Receiver.bak) ~= 0 THEN DO
  122.   Receiver=INDEX(Empf.orig,"@"); Receiver=LEFT(Empf.orig,Receiver-1)
  123.           ADDRESS COMMAND Verteiler.main 'DB='Database,
  124.                                          'INTO='RCVFILE.main||zpPort,
  125.                                          'PB='zpPort,
  126.                                          'FOR='Receiver
  127.  DistriMode = 1
  128.  END
  129.  
  130. OTHERWISE
  131.           ADDRESS COMMAND Verteiler.main 'DB='Database,
  132.                                          'INTO='RCVFILE.main||zpPort,
  133.                                          'PB='zpPort
  134. END
  135.  
  136. IF (RC) ~= 0 THEN DO           /* Fehler beim oeffnen von Verteiler */
  137.  REQUEST '"Fehler beim Start von Verteiler!" "Danke!"'; EXIT
  138. END
  139.  
  140. IF ~EXISTS(RCVFile.main||zpPort) THEN DO
  141.   REQUEST '"Sie haben abgebrochen!"' "Danke!"; EXIT
  142. END
  143.  
  144. /* File mit den Empfaenger laden und in eine,
  145.    fuer MD verstaendliche Form wandeln. */
  146.  
  147. CALL OPEN(dat,RCVFile.main||zpPort,"Read")
  148. Laenge=SEEK(dat,0,"End"); CALL SEEK(dat,0,"Begin")
  149. Empf = READCH(dat,Laenge)
  150. CALL CLOSE(dat)
  151. Empf = TRANSLATE(Empf," ",NL,)
  152.  
  153. qwer=INDEX(Empf.orig,"(")
  154. IF qwer ~= 0 THEN Empf.orig=LEFT(Empf.orig,qwer-2)
  155.  
  156.  
  157. ADDRESS COMMAND "DELETE" RCVFile.main||zpPort "QUIET" /* Datei wieder loeschen ! */
  158.  
  159. /* Wo sind wir ? */
  160. GETPOS
  161. Position = Result
  162.  
  163. IF WhatKind == 0 THEN DO
  164.   Empf = Empf||"dummy"            /* ohne das geht es nicht! */
  165.   SENDMAIL "TO="Empf "WAIT"
  166.   EXIT(0)
  167.  END
  168.  
  169. EXTRACTCURRENTMAIL "FILE="Datei.Tmp /* Nachricht auslagern! */
  170.  
  171. IF Distrimode ~= 1 THEN Empf = Empf.orig||" "||Empf
  172.  
  173. /* handelt es sich um eine Textnachricht oder um ein Binaerfile? */
  174. IF MAIL.BIN == 0 THEN
  175.    SENDMAIL "TO="Empf "BODYFILE="Datei.tmp "SUBJECT="'"'MAIL.SUBJECT'"'
  176. ELSE
  177.    SENDMAIL "TO="Empf "BODYFILE="Datei.tmp "SUBJECT="'"'MAIL.SUBJECT'"' BIN
  178.  
  179. IF DelImmer ~= 0 THEN
  180.  DO
  181.    REQUEST '"Soll die Ursprungsnachricht geloescht werden?" "Ja|Nein"'
  182.   IF RESULT == 0 THEN
  183.    DO
  184.     ADDRESS COMMAND "DELETE" Datei.tmp "QUIET"; EXIT
  185.    END
  186.   ELSE
  187.   SETPOS Position
  188.   SETCURRENTMAILFLAGS DEL 1
  189.  END
  190. ELSE
  191.   SETPOS Position
  192.   SETCURRENTMAILFLAGS DEL 1
  193.  
  194. ADDRESS COMMAND "DELETE" Datei.tmp "QUIET"
  195. /* EOS */
  196.  
  197.  
  198.